In an automobile engine, ignition sparks must be generated at exact engine positions to reduce exhaust emissions, increase engine power, and increase fuel efficiency.
In many automobile engines, there can be more than one spark ignition coil, either one coil for two cylinders or one coil for each cylinder. Each coil must be "active", i.e., the ignition coil control signal is asserted, for it's charge time and then discharged, i.e, a transition of the ignition coil control signal from the asserted state to the negated state, at a specific engine position. Usually, the charge time for a spark ignition coil is much shorter than the time it takes for the engine to rotate through an entire engine cycle, i.e., 720 degrees of rotation. Therefore, most ignition coil charge times need not overlap with each other so that while one coil is being charged, most of the other coils are inactive.
The known prior art includes a processor having a dynamic output stack, as shown in FIG. 1. The output stack includes a plurality of non-memory mapped Random Access Memory (RAM) arrays 10 each having a command portion 10a and a time value portion 10b. The command portion 10a is directly coupled to a demultiplexer 11. The time value portion 10b is directly coupled to a comparator 12 whose output is coupled to the demultiplexer 11. A programming register 13 is used to determine which RAM array 10 is to be selected by the demultiplexer 11. Several different external events can then be triggered using the system of the prior art. Once an output event is executed, the output item is deleted from the stack. Thus, processor intervention is constantly required to attend the hardware to maintain output pulses.
Furthermore, known prior art systems distribute the ignition coil control pulses by either using a mechanical device that switches from one ignition coil to the next based on engine position, by having dedicated hardware to generate each ignition coil control signal, or by requiring the CPU's assistance in switching to a new ignition coil, i.e., the CPU must re-program the hardware to drive a new output when a particular engine position is reached.
A need exists, therefore, for a method and system for generating ignition coil control pulses synchronized to engine position. The known prior art also fails to provide a method and system for distributing the ignition coil control pulses to the ignition coils without the use of external hardware or a processor. The known prior art further fails to provide a method and system for generating single or multiple ignition coil control pulses to one or more ignition coils in one or more engine cycles without processor assistance.